package net.lastcoder.ifserver.packet;

import org.apache.mina.core.buffer.IoBuffer;

/**
 * auth: WenYF
 * date: 2016/10/18
 */
public abstract class PacketParser {
    public static boolean ENABLE_PARSER_DEBUG = false;
//    /**
//     * 0: 二进制
//     * 1: json
//     */
//    public static int ProtocolType = 0;
    /**读取buffer中的全部数据并解析
     * @param buffer
     */
    public abstract void read(IoBuffer buffer);

    /**
     * @return 是否有没有被拿走的包
     */
    public abstract boolean hasPacket();

    /**
     * @return 先解析的包先拿走，没有返回null
     */
    public abstract Packet getPacket();
}
